/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cgt;

import cdp.Compra;
import cgd.DAO;
import cgd.DAOFactory;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Rodrigo
 */
public class AplCadastrarCompra {
    DAO daoCompra = DAOFactory.getDAOFactory(DAOFactory.defaultFactory).getDAO(Compra.class);
    
    private static AplCadastrarCompra instance = null;
    
    public static AplCadastrarCompra getInstance() {
        if (instance == null) {
            instance = new AplCadastrarCompra();
        }
        return instance;
    }
    
    public void incluirCompra(Compra compra){
        
        try {
            daoCompra.salvar(compra);
        } catch (Exception ex) {                  
            Logger.getLogger(AplCadastrarProduto.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public void excluir(Compra compra){
        try {
            daoCompra.excluir(compra);
        } catch (Exception ex) {
            Logger.getLogger(AplCadastrarProduto.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public void alterarCompra(List<Object> lista){
        
    }
    
    public Compra consultar(Compra compra){
        try {
            
            compra = (Compra) daoCompra.obter(compra);
        } catch (Exception ex) {
            Logger.getLogger(AplCadastrarCompra.class.getName()).log(Level.SEVERE, null, ex);
        }
        return compra;
    }
    
    public Compra consultar(Compra compra, long id){
        try {
            
            compra = (Compra) daoCompra.obter(compra, id);
        } catch (Exception ex) {
            Logger.getLogger(AplCadastrarCompra.class.getName()).log(Level.SEVERE, null, ex);
        }
        return compra;
    }
    
    public List<Compra> consultarTodos(Compra compra){
        List<Compra> lista = new ArrayList<Compra>();
        
        try {
            lista = daoCompra.obterTodos(compra);
            return lista;
        } catch (Exception ex) {
            Logger.getLogger(AplCadastrarCompra.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }
    }
}
